Many modern computer operating systems provide a graphical user interface (“GUI”) for interacting with the operating system and application programs. Through the use of a GUI, a user can more easily interact with a computer system and perform tasks that would not have been possible using traditional command line user interfaces. For instance, a GUI allows the creation and editing of rich electronic documents in a manner that would not have been previously possible.
Although a GUI makes the creation and editing of electronic documents much easier than previously possible, there are certain tasks that are still difficult to perform utilizing modern GUIs and applications programs. For instance, in many modern application programs, formatting codes and other information can be applied to the contents of a document but not displayed to the user. As an example, text in a word processing document may be tagged with extensible markup language (“XML”) that is not displayed to the user. As another example, one or more styles may be applied to text within a document for formatting the text as a paragraph, list, or other type of format. In cases such as these, it can be difficult for a user to determine the exact boundaries of the formatting or to see the underlying XML without issuing a special command to the application to reveal the formatting. When the formatting is revealed, the look and flow of the document is changed, thereby making it very difficult for a user to edit the document with a clear understanding as to how the changes will affect the look and flow of the document. A similar problem occurs when a user is editing mathematical equations that appear to the user as normal document content. However, special typographical rules may apply to the equation which are not normally apparent to the user.
Another consequence of the problems described above is that it is very difficult, utilizing current GUIs, to select the entire portion of certain types of regions within an electronic document. For instance, it may be difficult for a user to select a region that has had a certain style applied to it and to be certain that the entire region has been selected without selecting any portion of the surrounding regions. As a consequence, it may also be difficult for a user to move the entire portion of certain types of regions to another location within the document.
Another shortcoming of current GUIs for interacting with electronic documents is that it often can be difficult for a user to locate user interface controls for performing actions related only to the content within a selected region. For instance, if a user selects a table of contents and desires to perform an action for updating the table of contents, it may be difficult for the user to locate the UI control for performing the function. In many cases, a user may have to search menus or hunt through rows of icons to find the appropriate UI control. This process can be time consuming and frustrating for a user.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.